Process and apparatus for displaying data on a specific area of the surface of the display in a computer or a interactive terminal

ABSTRACT

Data or a message is displayed in a specific area of a display of a computer or an interactive terminal by using a local access network (LAN) card having processing resources and connected to a network, and a video card having a frame buffer. The LAN card takes control of the video card frame buffer independently of an operating system running into the computer or interactive terminal. Preferably, the LAN card and video card are connected to the computer by a PCI bus and the frame buffer of the video card is controlled by a PCI bus master mode.

TECHNICAL FIELD OF THE INVENTION

[0001] The invention relates to data communication systems and more particularly to a process and apparatus for displaying data on a specific reserved area of a display of a computer or a Interactive terminal.

BACKGROUND ART

[0002] Many locations opened to the public are now equipped with computers and so-called interactive terminals which are dedicated to provide instant-on access to information and services, particularly electronic services through the Internet network. Generally speaking, when such services are not separately billed by e-services providers and the manufacturers of Information Technology, they are financed through an advertisement policy based on the display of advertisements windows and panels which are simultaneously displayed to the customer as the latter is using the computer or the interactive terminal.

[0003] Clearly, in such a situation, the service provider or the product manufacture keeps a strong interest in keeping the control of what is currently displayed to a customer, and particularly as the latter is using the system. As the computer or the Interactive Terminal can be installed with a wide number of software and operating systems, the service provider or the product manufacturer normally has very little control of what is currently displayed on the user since the computer of the interactive terminal can always be subject of new software installations or configuration changes, In particular, the service providers or product manufacturers have no certainty about what is actually displayed to the customer as the latter is using the system. The same concern is shared by Corporations which may wish to keep the possibility to have a direct access to inform their employees, whatever the particular computer or Operating System they use.

[0004] More generally, the security concerns which are shared by any user of an Information Technology system and the risk of exposure of sensitive data to malevolent intrusions, particularly in view of the high number of suspicious software which are likely to be installed—most often out of the awareness of the customer—clearly shows the interest of securing a particular area of the display for a specific ‘trusted’ use, out of control of the particular Operating System being employed, and the particular set of software being installed.

SUMMARY OF THE INVENTION

[0005] It is an object of the present invention to provide a process and apparatus for giving control to a specific area of a display of a computer or a Interactive Terminal.

[0006] Alternatively, it is an object to increase security of information which is displayed in such computers and Interactive Terminals.

[0007] This object is achieved by means of a process for controlling a specific area of a display of a computer or a interactive terminal having a main processor with an operating system, said computer or interactive terminal comprising a Local Area Network (L.A.N.) access means having processing resources and connected to a network, and a graphic system having a frame buffer including an Overlay Frame Buffer which is activated. The process involves the direct control of the graphic system by the processing system located on the LAN access means for the purpose of controlling the display of a specific windows or panel to the user, out of control of the main processor.

[0008] Preferably, the LAN access means card and the graphic systems are respectively based on a LAN card and a video card which are connected to the computer by means of a common P.C.I/AGP bus The control of a Overlay Frame Buffer of the video card i is achieved by a bus master mode.

[0009] In one particular embodiment, the Overlay Frame Buffer has a WRITE access which is restricted to the LAN card. This provides the display of data in a secured area of the display, and which remains out of control of the main Operating System. Clearly, the process is particularly adapted to the display of advertisements panels in a personal computer or in an interactive terminal which is used for providing instant-on access and facility to the public. Because of the network connection, the system provider is ensured that the specific area of the display controlled by the Overlay Frame Buffer will serve for displaying the particular panel or overlay window received through the network and that information is actually displayed to the user.

[0010] The invention can be also used within corporate networks to allow a corporation to keep a direct control to a specific area of the display of their employees' computers and to provide a direct and instantaneous access to the display of the employees, whatever the particular operating system and software configuration.

[0011] Preferably, the LAN card receives data and commands from the network in accordance with a protocol which defines the information which is to be displayed in said secured area of said display, the set of commands being used for taking control in PCI bus master mode of the contents of the frame buffer independently on the existing Operating system.

[0012] In one embodiment, the process uses a set of registers which are used for defining the particular location of the reserved area of the display and the contents of the registers is controlled by the user which is allowed to move, but not to suppress—what is displayed on the specific reserved area.

[0013] In another embodiment, the overlay frame buffer is used for receiving sensitive data and the video card prevents the access to such data to the main processor operated under the operating system of the computer Therefore, there is provided a secured area of the display which can be ‘trusted’ and which can not be access abusively In particularly, the corresponding data, can not be copied on the disk drives.

[0014] Alternatively, in addition to the WRITE access restriction, the Overlay Frame Buffer has a READ access which is prohibited for the purpose of ensuring the confidentiality of the information being displayed.

[0015] The invention also provides a personal computer or Interactive Terminal which comprises a Local Access Network (L.A.N.) access means, such as a PCI or AGP type LAN card for instance, for receiving data and commands from a network fitted with processing means for processing said data and commands. A graphic system such as a PCI or AGP type video card, having a frame buffer is dedicated to store the data to be displayed on the display of said computer or said internactive terminal. The transmission of the data to be displayed on said secured area, and the control of the graphic system is achieved by means of a bus master mode allowing direct control of the secured area of the display irrespective of the existing Operating System.

DESCRIPTION OF THE DRAWINGS

[0016] An embodiment of the invention will now be described, by way of example only, with reference to the accompanying drawings, wherein:

[0017]FIG. 1 illustrates a general architecture of a preferred embodiment where a LAN card takes the control via PCI bus master mode of the frame buffer of a video card

[0018]FIG. 2 shows a flow chart of the process for controlling the message to be displayed in a reserved area of a display.

DESCRIPTION OF THE PREFERRED EMBODIMENT OF THE INVENTION

[0019] The preferred embodiment will be more particularly described in reference with the use of an Operating System (O.S.), such as of the type WINDOW TM 9x or WINDOWS 2000 marketed by MICROSOFT Corp., or a LINUX operating system or any other Operating System. The Operating System provides an operational environment for a wide number of software. Typically, in an Interactive Terminal a computer fitted with network connection is made available to the customer and, when such a service is not separately billed to that customer, the computer provider will need to ensure that a specific area of the display will serve for displaying specific messages or advertisement windows.

[0020] The computer or Interactive Terminal includes a graphic system which may be based on a custom video card 20, as shown in FIG. 1, which is connected via a Peripheral Component Interconnect (P.C.I) bus 9 to the mother board of the process or the interactive terminal comprising the main processor. It should be clear that the PCI bus can be advantageously replaced by a Accelerated Graphic Port (A.G.P.) bus. For the sake of clarity, the description will refer to a PCI card, while it is clear that the skilled man will straightforwardly adapt the design to suit the AGP format, if required. The video card 20 is plugged into a corresponding PCI slot which is available on mother board (not represented). The video card 10 is fitted with a graphic controller or engine 11 within graphic card 20 which produces the graphic signals in accordance with the bitmaps or graphical commands received by the main processor via the PCI or AGP bus. Graphic controller 11 generally takes the form of a specialized integrated circuit, such as an ASIC chip, and which provides the control of one or more screens or displays. FIG. 1 illustrates the control of one conventional Cathode Ray Tube (CRT) display, but it is clear that graphic controller 11 can also be used for controlling different types of displays and different types of signals: flat panels, LCD screens, Thin Flat Transistors (TFT), digital displays.

[0021] Graphic controller 11 comprises a frame buffer 14 or ‘on screen’ which comprises, a each time, a bitmap view of the image being displayed on the screen. The size of the words which is contained in that frame buffer depends on the depth of the color which is desired in the configuration being considered. Graphic engine 11 has two functions. A first function consists in the building of the image which is stored in the frame buffer in accordance with the bitmap or graphic control information provided by PCI bus 9. Further, graphic controller 11 uses the contents of the frame buffer for generating the graphic signals which clearly depends upon the nature of the display 21. In the case of a CRT display, for instance, a DAC 12 connected to graphic engine 11 via a bus 13 is used for generating the three analog colors and the synchronization signals, as known by the skilled man. If the graphic controller is designed to control a digital display, then the graphics signals are directly derived from the contents of the frame buffer in order to control the digital display.

[0022] Display 17 receives the graphic channel issued by the graphic controller 11 on a bus 19 attached to a VGA connector and carrying the above mentioned graphic signals. In a CRT screen as represented in the figure, the graphic signals will comprise the analog signals, clearly the green, blue and red signals associated with the horizontal and vertical synchronization signals. In the case of a digital display, the graphic engine 11 will provide digital graphic signals accordingly in accordance with the particular digital format which is used. Two formats are traditionally used for coding the digital graphics signals, either the Time Multiplex Differential Signals (TMDS) or the Low Voltage Differential Signal (LVDS) well known in the art.

[0023] Frame buffer 14 is a specific storage having sufficient memory space such as those used for 2D and 3D accelerations. As the frame buffer presents a size which is well beyond the memory space required for displaying the graphical image on the computer of the system, the frame buffer is divided in different areas which are arranged and used for the purpose of accelerating the construction of graphical displays. In a technique known as the double buffering technique for instance, there is particularly arranged a first and a second area within the frame buffer. The first area is used for defining the image which is currently displayed by the video card while the second area serves for the elaboration of the next image to be displayed In the case of video acceleration techniques, the frame buffer includes a video storage area which is used for storing the video data stream which is displayed as an overlay with respect to the background image. The control of the specific areas of the frame buffer which are displayed is defined by a set of addresses stored within corresponding registers which are used by the graphic engine 11 via the numerous primitives for video acceleration. For instance a X address is used for defining the first position within the frame buffer of the current image, and a Z address particularly defines the position within the frame buffer of the video data stream to be displayed on the foreground. A set of primitive is available to the graphic engine 11 for allowing control of the different areas of the frame buffer 14 and the associated registers, and the graphic engine can then issue the resulting image which is transmitted to the DAC element 12 via bus 13. Clearly, the particular organization of the frame buffer closely depends upon the particular design of the video card. In the case of video accelerating technique, the control of the display of the video data stream is either based on one particular bit of the alpha channel (corresponding to one bit among the 25^(th) to the 32^(th) bit if the pixels are coded in 32 bits) or upon the detection of a specific color existing within the frame buffer in the case of 24-bits coded pixels. The use of frame buffers is well known in the art of graphic cards design and the concept of a frame buffer will not be further developed.

[0024] Frame buffer 14 is arranged to include a Overlay frame buffer 15 which is activated in contrary to the standard video card where the activation is controlled by the drivers of the video card under controlled by the operating system. Overlay Frame Buffer 15 is used for storing data or message which are to be displayed on a reserved area of the display of the computer or the Interactive Terminal and is associated with corresponding primitives which can be used by graphic engine 11. In one embodiment, the particular location of the reserved area is fixed while, alternatively, an associated Z address is still accessible for the control of the driver of the operating system for the purpose of letting the user move the corresponding displayed window or message, while not allowing him or her to suppress it.

[0025] A Local Area Network (L.A.N.) card 20 is also connected to the PCI bus 9 of the computer. While FIG. 1 shows a LAN card 20 and a video card 10 sharing the same PCI bus, it should however be clear that two distinctive buses could be used, particularly if the video card 10 is attached to a AGP bus and the LAN card is connected to the PCI bus. However, the invention will be described with the use of a single PCI bus for both connecting the video card and the LAN card 20. The LAN card 20 is fitted with processing resources which can be based on a dedicated ASIC embodying a Medium Access Control (MAC) controller 27 based on a microcontroller 21 MAC controller 27 is particularly used for embodying Internet Protocol Security (IPSec) techniques. The LAN card 20 further includes a RJ45 connector 22 allows the attachment of the LAN card to an Ethernet network via a LAN cable 23. A transformer 24 achieves galvanic isolation with the network. A PHY element 25 is used for the extraction of the analog signals from the circuits Rx, Tx and the digital information extracted from MAC controller 27.

[0026] In addition to the traditional IPGsec security features, the MAC controller 27 and the microcontroller 21 are given additional functionalities for exchanging data and commands with the network through a specific and protected protocol. The information being received—so called Overlay Control Information (OCI)—are used by microcontroller 21 for the purpose of controlling the Overlay Frame Buffer 15 of the video card 10 For this purpose, the LAN card is fitted with PCI bus master capability for allowing full control of the video card 10 attached to the PCI or AGP bus 9 under control of the CCI commands. In the case of an AGP connection for the video card 10, the bus master control of the LAN card 20 is achieved by means of a PCI to AGP bridge which is well known to the skilled man and which will not be further developed. Basically, when in bus master mode, any device which is attached to the PCI bus 9 is given the possibility, under a defined protocol depending on the particular bus being considered—either PCI or AGP or alike—to take the control of the latter. The PCI bus master mode is typically used for allowing one device to directly address the RAM storage of the computer without involving the main processor on the mother board. In the process which is hereinafter described the bus master mode is used for the purpose of giving the LAN card 20 a direct access and control to the Overlay Frame Buffer 15 of the video card 10 for the purpose of ascertaining that a specific reserved area of the display will serve to display an important message or information, whatever the particular operating system and the software configuration of the machine.

[0027] When taking the control of the PCI or AGP bus, the microcontroller 21 is getting an access to the contents of Overlay Frame Buffer 15 and can therefore controls what is actually displayed in the protected and reserved area of the display. This is achieved by means of a set of primitives which are executed by the microcontroller 21 for the purpose of controlling the control bus of the PCI bus and therefore taking access to the primitives of the graphic engine 11 which controls the Overlay Frame Buffer 15. A particular primitive is used for accessing Overlay Frame Buffer 15 for the purpose of displaying the stored information on the foreground under control of the microcontroller 21 of the LAN card taking the PCI bus master. This is used for creating a direct communication channel between the LAN card and the video card independently on the execution of the main operating system and, above all, remaining out of its control. In the best embodiment, the particular contents of the information which is displayed in such a mode is defined by the contents of the Overlay Control Data directly received through the network.

[0028] There is therefore provided a direct communication channel between the LAN card 20 and the video card 10, which clearly ensures that a specific information is really displayed in a specific area of the screen corresponding to the information which is contained within the Overlay Frame Buffer 15.

[0029] In one embodiment, the set of primitive of the graphic engine 11 allows the control of the Z address which is used for defining the particular location of the overlay window which is displayed and which remains within the scope of access of the video card drivers under the control of the operating system. Therefore, the user is allowed to move and position the overlay window at any location on the screen, but is not given the possibility to suppress it.

[0030] In one embodiment, the Overlay Control Data (O.C.D.) which are received by the LAN card includes a MAC address which is decoded by the microcontroller 21 for the purpose of determining whether the associated data is to be displayed within this particular computer. The use of the MAC address of the LAN card, with an appropriate protocol which design can substantially vary in accordance with the particular needs, allow to define on-screen windows which can be, in accordance with the particular situation, either broadcasted or unicasted. Clearly, this process remains out of control of the main operating system since the LAN card is given a direct access to the frame buffer control.

[0031] With respect to FIG. 2, there is described the process for controlling the contents of the Overlay Frame Buffer 15 via the microcontroller 21 of LAN card 20.

[0032] In a step 31, the microcontroller receives Overlay Control Information from the network.

[0033] In a step 32, the microcontroller 21 decodes the MAC address existing within the OCI and determines whether the associated information is to be displayed on the particular displayed controlled by the graphic card 10. As mentioned above, this particular step permits to process broadcast and unicast Overlay Control Information transmitted via the network.

[0034] If the MAC address matches that of the LAN card 20, the microcontroller stores in a step 33 the OCI into its associated RAM storage.

[0035] In a step 34, under control of the OCI information received by the network, the LAN card executes a PCI bus master and transmits the derived appropriate Overlay information to the graphic engine 11 of the video card 10.

[0036] In a step 35, the graphic engine 11 controls the WRITE access to the Overlay Frame Buffer 15 for the purpose of displaying the corresponding information received by the network to the display of the computer. In the embodiment mentioned above, the user is given the possibility to control the particular location of the Overlay windows by means of the control of the Z address, but without having the possibility to suppress the corresponding window.

[0037] In order to demonstrate the flexibility provided by the direct communication channel between the LAN card and the video card, there will now be described a second mode of realization. In this alternate embodiment, the LAN card is used for controlling the display on the overlay of sensitive information which are received from the network and which remains out of control of the main operating system. For this purpose, when in bus master mode, the LAN card prohibits any request from the main processor so as to secure the sensitive data which is currently displayed on the Overlay displayed information. Therefore, the contents of the Overlay frame buffer remains out of control of the main processor. This can be used for displaying sensitive information by a Information service provider to the customer, while guaranteeing that this information will not be abusively processed by any corrupted software application present in the computer.

[0038] Preferably, the custom video card 10 is specifically designed for prohibiting any read operation within Overlay Frame Buffer 15. This is achieved by arranging a Overlay Frame Buffer 15 in a different hardware memory storages having different READ access procedures or, alternatively, by embodying those different READ access procedures directly within the same electronic module. By carrying out specific READ access restrictions within Overlay Frame Buffer 15, there is ensured that the information which is received by the LAN card 20 and displayed to the user is not be transmitted to any other process. It can be seen that this process is very useful for guaranteeing the confidentiality of an information being displayed to the user and, also, any misuse of that information by the different software applications which are likely to be installed within the computer. There is therefore provided a very protected environment for displaying sensitive information.

[0039] In addition to the restriction on the READ operation on the Overlay Frame Buffer, the security mechanism can still be improved by restricting the Write operation within the Overlay Frame Buffer 15. This can be achieved simply by means of a specific control lead between the video card 10 and the LAN card 20 in order to ensure that only the LAN card will provide the sensitive information to the protected area of the display associated to the Overlay Frame Buffer 15. Alternatively, the WRITE access restriction can be achieved by means of an appropriate locking mechanism and procedure between the custom video card 10 and the LAN card 20. 

1. Process for displaying a window or a panel in a specific area of a display of a computer or an interactive terminal having a main processor and further comprising a local access network (LAN) accessor with processing resources and connected to a network, and a graphic system with a frame buffer including an activated overlay frame buffer, said process comprising controlling said overlay frame buffer by the processing resources of said LAN accessor to display a specific window or panel independently from the main operating system executed into said computer or said interactive terminal.
 2. Process according to claim 1 wherein said graphic system and said LAN accessor are respectively based on a LAN card and a video card, said LAN card taking control of said overlay frame buffer by use of a bus master mode, and said overlay frame buffer having a WRITE access which is restricted to the control of said LAN card.
 3. Process according to claim 2 wherein said LAN card receives data and commands from the network in accordance with an appropriate protocol, said data defining information to be displayed in a secured area of said display and said commands being used for taking control of the bus master mode of the contents of the frame buffer independently of an existing operating system.
 4. Process according to claim 3 wherein the contents of said overlay frame buffer are displayed in a specific reserved area of the display which is moveable by the user, but can not be suppressed.
 5. Process according to claim 4 wherein said LAN card takes control of said video card by use of overlay control information (OCI) which contains a MAC address used for either broadcast or unicast transmission.
 6. Process according to claim 5 wherein said overlay frame buffer has a READ access which is prohibited.
 7. A personal computer or interactive terminal connected to a network, the computer or terminal including a main processor adapted to be operated by an operating system, local access network (LAN) accessor for receiving data and commands from said network and including a processor arrangement for processing said data and commands, a graphic system having a frame buffer including an overlay frame buffer for storing the data to be displayed on the display of said computer or said interactive terminal, said LAN accessor being arranged for taking control of the contents of said overlay frame buffer independently of the operating system running into said computer or said interactive terminal.
 8. A computer or an interactive terminal as defined in claim 7 wherein said LAN accessor and said graphic system are respectively based on a LAN card and a video card, said LAN card being arranged for taking control of said video card by use of a bus master mode, said overlay frame buffer having a WRITE access which is restricted to the control of said LAN card.
 9. A computer or an interactive terminal as defined in claim 8 wherein said video card includes a graphic engine having a primitive for moving the address corresponding to said overlay frame buffer which is accessible to said operating system, whereby a user is given the possibility to move but not to suppress a corresponding window or image.
 10. A computer or an interactive terminal as defined in claim 9 wherein said LAN card includes a MAC controller for receiving and decoding overlay control information received from the network containing a MAC address, said LAN card being arranged for decoding overlay control information which is adapted to be broadcast for unicast. 